31 research outputs found
Recommended from our members
The AND/OR process model for parallel interpretation of logic programs
Current techniques for interpretation of logic programs involve a sequential search of a global tree of procedure invocations. This dissertation introduces the AND/OR Process Model, a method for interpretation by a system of asychronous, independent processes that communicate only by messages. The method makes it possible to exploit two distinct forms of parallelism. OR parallelism is obtained from evaluating nondeterministic choices in parallel. AND parallelism arises in the execution of deterministic fuctions, such as matrix multiplication of divide and conquer algorithms, that are inherently parallel. The two forms of parallelism can be exploited at the same time. This means AND parallelism can be applied to clauses that are composed of several nondeterministic components, and it can recover from incorrect choices in the solution of these components. In addition to defining parallel computations, the model provides a more defined procedural semantics for logic programs; that is, parallel interpreters based on this model are able to generate answers to queries that cause standard interpreters to go into an infinite loop. The interpretation method is intended to form the theoretical framework of a highly parallel non von Neumann computer architecture; the dissertation concludes with a discussion of issues involved in implementing the abstract interpreter on a multiprocessor
Recommended from our members
Metaphors of Instrumental Computer Use: A Case Study
There are two metaphors for describing instrumental computer use: the computer as a tool, and a more comprehensive package metaphor that emphasizes all aspects of computer use (hardware, software, and social interactions with vendors and other actors in the computing world). Whereas the tool view of computing is concerned with the direct costs of hardware and software, the package view helps one estimate all costs -- social and technical -- of instrumental computer use. Data from a case study of two research laboratories that used computers for data collection provides empirical support for a package metaphor
Recommended from our members
Parallel interpretation of logic programs
Logic programs offer many opportunities for parallelism. We present an abstract model that exploits the parallelism due to nondeterministic choices in a logic program. A working interpreter based on this model is described, along with variants of the basic model that are capable of exploiting other sources of parallelism. We conclude with a discussion of our plans for experimenting with the various models, plans which we hope will lead eventually to a multi-processor machine
Parallel Logic Programs on the HP Mayfly
19 pagesThe Mayfly, a parallel processor being built at HP Labs in Palo Alto, has architectural
support for several import.ant. aspects of the OM virtual machine for parallel
logic programs. Each node has a coprocessor that is able to relieve the main processor
of a significant amount oft.he "housekeeping" work of memory management ,
task switching, and message handling. This paper describes how the coprocessor
implements kernel level functions in OM, with particular attention to the operations
that support task switching. The paper includes detailed timing data from
a program with interleaved parallel threads to show that while the main processor
is busy in one thread the coprocessor can effectively build the context for the next
thread
Recommended from our members
Efficient Logic Programs: A Research Proposal
The goal of the proposed research is to develop methods for efficient implementation of logic programs. There are two areas we wish to investigate, both of which are continuations of research conducted by members of the UCI dataflow architecture group. One aspect of the proposed research involves development of a non-von Neumann architecture for parallel execution of logic programs; preliminary work in this area is reported by Conery [9]. The second area invovles transformation of high level logic specifications into efficient Prolog and/or procedural language programs, and is based on work by Morris [20]
Architected Failure Handling for AND-Parallel Logic Programs
14 pagesIn this paper, we present an architected approach to failure handling for independent
AND parallel logic programs. That is, the architecture presented here
represents its failure handling algorithm as a sequence of simple abstract machine instructions,
rather than as a built-in function. Information about data dependencies
is used by a compiler to generate special purpose fail routines on a clause-by-clause
basis. We also present two simple optimizations that further specialize the handling
of failures for each clause
Explorations in computing : an introduction to computer science and Phyton programming
xv, 422 p.; 26 c